package projeto.repository.impl;

import java.util.Calendar;
import java.util.Date;

import projeto.Database;
import projeto.domain.Turma;
import projeto.repository.TurmaRepository;

public class TurmaDAO implements TurmaRepository {

	@Override
	public void insertTurma( final Turma turma ) {
		
		String query = "INSERT INTO mydb.turma ( vagas, dt_inicio, id_professor, horario, mensalidade, salario_professor, id_modalidade ) " +
			" VALUES ( " + turma.getVagas() + ", '" + 
				formatData( turma.getDataInit() ) + "', " + 
				turma.getProfessor().getId() + ", '" + 
				formatHorario( turma.getDataInit() ) + "', " + 
				turma.getPreco() + ", " +
				turma.getSalarioProfessor() + ", "+ 
				turma.getModalidade().getId() + "  ) ";
		
		Database.executeUpdate( query );		
	}

	@Override
	public void updateTurma( final Turma turma ) {
		
		String query = "UPDATE mydb.turma set vagas = "+ turma.getVagas() + ", " +
				" dt_inicio = " + formatData( turma.getDataInit() ) + ", " +
				" id_professor = " + turma.getProfessor().getId() + ", " +
				" horario = " + formatHorario( turma.getDataInit() ) + ", " +
				" mensalidade = " + turma.getPreco() + ", " +
				" salario_professor = " + turma.getSalarioProfessor() + ", " +
				" id_modalidade = " + turma.getModalidade().getId() + " WHERE id = " + turma.getId();
		
		Database.executeUpdate( query );		
	}
	
	private String formatHorario ( final Calendar calendar ) {
		
		Date data = calendar.getTime();
		
		String result = data.getHours() + ":" + data.getMinutes();
		
		return result;
	}
	
	private String formatData ( final Calendar calendar ) {
		
		String result = "";
		
		Date data = calendar.getTime();

		result += (data.getYear() + 1900) + "-" + (data.getMonth() + 1) + "-" + data.getDate() + " " + data.getHours() + ":" + data.getMinutes();
		
		return result;
	}

}
